package TP2.modelo;
import java.awt.Point;


public class TorpedoRastreador extends Municion {

		/**
	 * 
	 */
	private static final long serialVersionUID = -4809365485074942991L;
		private Avion objetivo;
		private int cantidadDeMovimientos;
		
		public TorpedoRastreador(){
			DanioFijo danio = new DanioFijo();
			danio.setCantidadDeDanio(50);
			super.setPoderDeDestruccion(danio);
			cantidadDeMovimientos = 0;
			velocidad = 2;
		}
		
		public void vivir(){
			cantidadDeMovimientos += 1;
			
			Point posicionActual = this.getPosicion();
			objetivo = super.getDisparador().getEnemigoPrincipal();
			Point posicionObjetivo = objetivo.getPosicion();
			
			if ((posicionObjetivo.getX() < posicionActual.getX()) && (posicionObjetivo.getY() < posicionActual.getY())){
				posicionActual.translate(-velocidad, -velocidad);
			}
			if ((posicionObjetivo.getX() < posicionActual.getX()) && (posicionObjetivo.getY() == posicionActual.getY())){
				posicionActual.translate(-velocidad, 0);		
			}
			if ((posicionObjetivo.getX() < posicionActual.getX()) && (posicionObjetivo.getY() > posicionActual.getY())){
				posicionActual.translate(-velocidad, velocidad);
			}
			if ((posicionObjetivo.getX() == posicionActual.getX()) && (posicionObjetivo.getY() < posicionActual.getY())){
				posicionActual.translate(0, -velocidad);
			}
			if ((posicionObjetivo.getX() == posicionActual.getX()) && (posicionObjetivo.getY() > posicionActual.getY())){
				posicionActual.translate(0, velocidad);
			}
			if ((posicionObjetivo.getX() > posicionActual.getX()) && (posicionObjetivo.getY() < posicionActual.getY())){
				posicionActual.translate(velocidad, -velocidad);
			}
			if ((posicionObjetivo.getX() > posicionActual.getX()) && (posicionObjetivo.getY() == posicionActual.getY())){
				posicionActual.translate(velocidad, 0);
			}
			if ((posicionObjetivo.getX() > posicionActual.getX()) & (posicionObjetivo.getY() > posicionActual.getY())){
				posicionActual.translate(velocidad, velocidad);
			}
			this.setPosicion(posicionActual);
			
			if (cantidadDeMovimientos == 300) this.destruir();
		}
		
		
		
}
